package com.gzyz.cheetah.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gzyz.cheetah.entity.dto.PageDTO;
import com.gzyz.cheetah.entity.table.SensitiveWord;

import java.util.List;

/**
 * <p>
 * 违禁词 服务类
 * </p>
 *
 * @author xclhove
 * @since 2023-11-06
 */
public interface ISensitiveWordService extends IService<SensitiveWord> {
    /**
     * 添加违禁词
     * @param sensitiveWord 违禁词信息
     * @return 是否添加成功
     */
    public boolean addSensitiveWord(String sensitiveWord);
    
    /**
     * 通过违禁词id删除违禁词
     * @param sensitiveId 违禁词id
     * @return 是否删除成功
     */
    public boolean deleteSensitiveWordById(Integer sensitiveId);
    
    /**
     * 通过违禁词id列表批量删除违禁词
     * @param sensitiveIds 违禁词id列表
     * @return 是否删除成功
     */
    public boolean deleteSensitiveWordsByIds(List<Integer> sensitiveIds);
    
    /**
     * 修改违禁词
     * @param sensitiveWord 违禁词信息
     * @return 是否修改成功
     */
    public boolean updateSensitiveWordById(SensitiveWord sensitiveWord);
    
    /**
     * 通过违禁词id获取违禁词
     * @param sensitiveId 违禁词id
     * @return 违禁词信息
     */
    public SensitiveWord getSensitiveById(Integer sensitiveId);
    
    /**
     * 分页查询违禁词
     * @param pageNumber 页码
     * @param pageSize 每页数量
     * @return 违禁词列表
     */
    public PageDTO<SensitiveWord> searchAndPageList(String searchText, Integer pageNumber, Integer pageSize);
    
    /**
     * 搜索并分页查询违禁词
     * @param searchText 搜索文本
     * @param pageNumber 页码
     * @param pageSize 每页大小
     * @return 违禁词列表
     */
}
